The present invention relates generally to network switches, and more particularly, to a multi-service network switch with dynamic resource management capabilities for dynamically assigning resources to incoming connection requests.
Today""s network service providers face extraordinary challenges. Traffic levels are rapidly increasing. Both consumers and corporations are demanding higher access rates and staying on the Internet longer while looking for predictable performance and stringent service-level guarantees. This puts direct demands on Internet Service Providers (ISPs) to provide larger capacity and higher speed at their point of presence (POP) locations, preferably without compromising performance.
Just to maintain acceptable performance, service providers are adding support for more users, more traffic, and more transactions, preferably without introducing bottlenecks or compromising network availability. Many network-based businesses transactions are time-critical and typically cannot tolerate undue delay or disruption.
In addition to the challenge of growing traffic levels is the challenge of growing diversity of network technology. Users may access the public infrastructure, for example, over dial-up connections, ISDN links, leased lines, frame relays, ATM virtual circuits. They may use voice-grade modems, cable modems, a variety of xDSL modems, or other modems. Within the infrastructure, a service provider""s POP may attach to the core network and to other devices in the POP using, for example, ATM, frame relay, or Ethernet.
Supporting each type of network technology in a traditional manner means that the ISPs typically add separate access servers, access routers, and/or stand alone LAN switches, generally resulting in an increase in cost and management complexities for the ISP.
One of the tasks handled by an ISP is allocation of resources. Each connection to the ISP""s POP needs a specific set of hardware and software resources. A frame relay call, for example, needs a line interface, an HDLC controller, a frame relay protocol stack, and frame forwarding software. Because conventional systems used by ISPs utilize centralized processing architecture, they are not equipped to handle such resource requests effectively, especially as traffic increases. In a centralized architecture, all resource requests go to the single processing unit which examines a global resource map to determine which resource should be assigned to the requester. Also, in most cases, the CPU that initiates the request is the same one that allocates the resource. This type of centralized architecture increases processing overhead, causes bottlenecks, inhibits scalablility, and provides a single point of failure.
Accordingly, there is a need for network switch capable of providing fault-tolerant and efficient services that will accommodate the increase in the number and the variety of network traffic. Such a switch should preferably allow efficient allocation of resources without creating bottlenecks and without introducing single points of failure.
The present invention is directed to a multi-service network switch capable of providing multiple services including modem and ISDN services, frame relay support, LAN interfaces, and layer-2 and layer-3 switching, from a single platform. According to one embodiment of the invention, the switch allows for dynamic resource management for dynamically assigning resources to an incoming call. In this way, resources are not tied to specific ports, but may be shared among various interface modules. If a resource is available anywhere on the system, any card may preferably use it. Furthermore, if one of the resources fails, it is marked unavailable, and calls are preferably directed automatically to other resources. With a fully distributed architecture, this reduces reliance on a single processing unit for transmitting or responding to a resource request.
According to one aspect of the invention, the switch allocates a resource to a connection request received by one of the interface modules by maintaining in each interface module a list of resources and information about availability of each of the resources, identifying a particular resource to be allocated to the connection request, querying the list of resources for the particular resource, and allocating the particular resource to the connection request if the particular resource is identified as being available. The receiving interface module may broadcast a request for the particular resource to the remaining interface modules. The remaining interface modules examine their local resources and determine if the requested resource is available. If so, they communicate a response indicating that the particular resource is available.